#include <stdio.h>

int addWithoutOperation(unsigned int a,unsigned int b){
	unsigned int add = 0;
	unsigned int carry = 0;
	add = a^b;
	carry = (a&b) <<1;
	while (carry){
		add = add ^ carry;
		carry = ((add ^ carry)&carry)<<1;
	}
 	return add^carry;
}
int main(){
	int num = 3;
	int a[3] = {3,5,116};
	int b[3] = {45,6,231};
	for (int i = 0; i < num; ++i)
	{
		printf("%d + %d = %d \n", a[i], b[i], addWithoutOperation(a[i],b[i]));
	}
}